$(function() {
    document.oncontextmenu = function(e) {
        e.preventDefault();
    };
    // 获取用户信息按钮
    let token = localStorage.getItem("token");
    token = JSON.parse(token);

    if (token === null) {
        $('.notLogin').empty();
        var notLogin = $('<div class="notLogin">还未登录,前去登录</div>');
        $("body").prepend(notLogin);
        // $("#getUserinfo").after(notLogin);
        $('.notLogin').on("click", function() {
            location.replace("http://127.0.0.1:3007/html");
        })
    } else {
        // 获取用户基本信息的ajax
        // userajax(token);
        userajax(token);
    }


    // 隐藏右键实现的功能
    $(".close").click(function() {
        $(".youjian").hide();
        // $(".score").hide();
        $(".getmessage").hide();
        // $(".ask").hide();
        $(".itxt").val(1);

    })

    const tuichu = document.querySelector('.tuichu')
    tuichu.addEventListener('click', () => {
            sessionStorage.clear()
            localStorage.clear()
            location.replace("http://127.0.0.1:3007/")
            localStorage.setItem('user', '学生')

        })
        // $('.refresh').click(
        //     function gengxin() {
        //         let token = localStorage.getItem("token");
        //         token = JSON.parse(token);
        //         setTimeout(() => {
        //             $.ajax({
        //                 url: 'http://127.0.0.1:3007/my/teacherUserinfo',
        //                 type: 'GET',
        //                 headers: {
        //                     Authorization: token[0].Authorization
        //                 },
        //                 success: function(data) {
        //                     console.log('更新了');

    //                 },
    //             })
    //         }, 10)
    //     }
    // )



    // 教师查询信息 考勤成功的学生显示
    function userajax(token) {
        $.ajax({
            url: 'http://127.0.0.1:3007/my/teacherUserinfo',
            type: 'GET',
            headers: {
                Authorization: token[0].Authorization
            },
            success: function(data) {
                dengdai(data.data);
            },

        })
    }

    // 因为li是动态创建所以要用on来绑定事件
    // 第一个参数是事件类型 第二个是事件委托（谁触发） 
    // $(".userlist").on("click", "li", function() {
    //     alert(11)
    // })

    // 查看单个学生数据
    function dengdai(data) {
        const studentData = data;

        // 第一个参数要遍历的数据 第二个参数回调函数
        // 调用each前先清空ul
        // $('.box').empty();
        $('.right').remove;
        for (var i = 0; i < data.length; i++) {
            // var ul = $("<ul class=userlist></ul>")

            const li = $("<ul class='right'><li><a>" + data[i].student_id + "</a></li>" + "<li><a>" + data[i].name + "</a></li></ul>")
            $(".box").append(li);
            // 设置该学生的索引号，方便后续右键进行操作
            $(".right")[i].setAttribute('index', data[i].id);
        }
        const getlists = document.querySelector('.box').childNodes;
        for (var i = 0; i < getlists.length; i++) {
            // 右键按钮
            getlists[i].oncontextmenu = function(e) {
                // 取消默认行为
                e.preventDefault();
                const menu = document.getElementById('menu');
                this.append(menu);
                //根据事件对象中鼠标点击的位置，进行定位
                menu.style.left = e.clientX - menu.parentNode.offsetLeft + 'px';
                menu.style.top = e.clientY - menu.parentNode.offsetTop + 'px';
                menu.style.display = 'block';

            }

            // console.log(this.menu.children[0]);
            // this.menu.children.click(function() {

            // })

            //关闭右键菜单
            window.addEventListener('click', function() {
                menu.style.display = 'none';

            })

            // $("#menu").hover(function() {
            //     $(this).siblings().stop().fadeTo(400, 0.5);
            // }, function() {
            //     $(this).siblings().stop().fadeTo(400, 1);

            // })
        }
        // 具体信息
        $('#menu').on('click', '.message', function() {
                $(".youjian").show();
                $(".getmessage").show();
                var ul = $('#menu').parent();
                index = ul[0].getAttribute('index');
                console.log(index);
                GetStudent(index, function(data) {
                    message(data);
                });
                ask(index, JSON.stringify(local))

                // 获取当前学生的学号
                // 使用当前学生的学号进行ajax请求
                // 创造一个盒子用以显示学生具体信息


            })
            // 评分 
        $('#menu').on('click', '.score', function() {
            $(".youjian").show();
            $(".getsocre").show();
            var ul = $('#menu').parent();
            index = ul[0].getAttribute('index');
            // console.log(index);
            GetStudent(index, function(data) {
                scores(data);
            });
            // $($('.name-p')[0]).html(data.data[0].username + "同学的总学分为" + data.data[0].score)
            //    提交对学生的评价
            $(".submitScroe").click(function() {
                    var score = $(".itxt")[0].value;
                    var evaluate = $(".evaluate")[0].value
                        // console.log('score1', score);
                        // console.log('score2', JSON.stringify(score));
                    getScore(index, score);
                    tostudent(index, evaluate)
                    $(".youjian").hide();
                    $(".getsocre").hide();
                    // $(".itxt").val(1);
                    alert('评价成功')
                    $(".evaluate")[0].value = ''
                    $(".itxt")[0].value = 1

                })
                // 获取当前学生的学号
                // 使用当前学生的学号进行ajax请求
                // 创造一个盒子用以显示学生具体信息

        })

        $(".increment").click(function() {
            var n = $(".itxt").val();
            n++;
            $(".itxt").val(n);
        })
        $(".decrement").click(function() {
            var n = $(".itxt").val();
            n--;
            $(".itxt").val(n);
        })

        const tellfason = document.querySelector('.tell-submit')
        const tellInput = document.querySelector('.tell-input')
            // 默认行为


        // 获取评论的方法
        setInterval(() => {
            dengdaitell()
        }, 1000);


        // 如果有人评论使滚动条滚动到最下面
        function scrollBar() {
            // 最大滚动距离
            commentscollMax = $('.studentTitle')[0].scrollTopMax
                // 如果有人评论使滚动条滚动到最下面
            $('.studentTitle').scrollTop(commentscollMax + 1000)
        }

        // 获取与该学生的聊天记录的方法
        function getAsk(id) {
            let token = localStorage.getItem("token");
            token = JSON.parse(token);
            $.ajax({
                url: 'http://127.0.0.1:3007/my/getAsk',
                type: 'POST',
                data: {
                    id: id
                },
                headers: {
                    Authorization: token[0].Authorization
                },
                success: function(data) {
                    // 把数据库获取的放到localstorage里
                    localStorage.setItem('tell', data.data[0].ask)
                }
            })
        }

        // 提问
        $('#menu').on('click', '.ask', function() {
            // $(".youjian").show();
            $(".getask").show();

            const ul = $('#menu').parent();
            var index = ul[0].getAttribute('index');
            console.log('提问index', index);
            // 获取与该学生的聊天记录
            getAsk(index)

            $('.tell-bottom').on('keydown', function(e) {
                if (e.keyCode === 13) {
                    // 获取数据库的数据
                    let token = localStorage.getItem("token");
                    token = JSON.parse(token);
                    // 获取数据
                    var local = getData()
                    var user = 'teacherTitle'
                    local.push({
                        user,
                        title: tellInput.value,
                    });

                    // 数据库储存 写在index里了
                    ask(index, JSON.stringify(local))

                    // 把local数组进行替换
                    // 方法一 直接写
                    // localStorage.setItem('comment', JSON.stringify(local))
                    // 方法二 创建一个本地存储的方法
                    setData(local)
                    tellInput.value = null
                    dengdaitell()
                    scrollBar()
                }
            })

            // // 点击发送提问
            tellfason.addEventListener('click', function() {
                // 获取数据库的数据
                let token = localStorage.getItem("token");
                token = JSON.parse(token);
                // 获取数据
                var local = getData()
                var user = 'teacherTitle'
                local.push({
                    user,
                    title: tellInput.value,
                });

                // 数据库储存 写在index里了
                ask(index, JSON.stringify(local))

                // 把local数组进行替换
                // 方法一 直接写
                // localStorage.setItem('comment', JSON.stringify(local))
                // 方法二 创建一个本地存储的方法
                setData(local)
                tellInput.value = null
                dengdaitell()
                scrollBar()
            })
        });


        // 读取本地存储的数据
        function getData() {
            var data = localStorage.getItem('tell')
            if (data !== null) {
                return JSON.parse(data)
            } else {
                return []
            }
        }

        // 本地存储数据
        function setData(data) {
            localStorage.setItem('tell', JSON.stringify(data))
        }



        // 渲染加载数据
        function dengdaitell() {
            var data = getData();
            // 遍历之前清空元素
            $('.studentTitle').empty()
            $.each(data, function(i, n) {
                // console.log(n);
                console.log(n.user === 'studentTitle');
                $('.studentTitle').append('<div class="block" index=' + i + '><span class="studentTitle-son active' + i + '">' + n.title + '</span></div>')
                if (n.user === 'studentTitle') {
                    $('.active' + i + '').addClass('chat-active')
                }

            })
        }

        // 提问储存
        function ask(id, ask1) {
            let token = localStorage.getItem("token");

            token = JSON.parse(token);
            $.ajax({
                url: 'http://127.0.0.1:3007/my/teacherAsk',
                type: 'POST',
                data: {
                    id,
                    ask1: ask1
                },
                headers: {
                    Authorization: token[0].Authorization
                },
                success: function(data) {
                    // console.log(data);
                    console.log('存储成功');
                }
            })
        }

        // 获取学生基本信息的方法
        function GetStudent(index, callback) {
            let token = localStorage.getItem("token");

            token = JSON.parse(token);
            $.ajax({
                url: 'http://127.0.0.1:3007/my/teacherGetStudent',
                type: 'POST',
                data: {
                    id: index
                },
                headers: {
                    Authorization: token[0].Authorization
                },
                success: function(data) {
                    // console.log(data);
                    callback(data)
                        // message(data);
                }
            })
        }

        // 学生详情显示在页面
        function message(data) {
            // 第一个参数要遍历的数据 第二个参数回调函数
            // 调用each前先清空ul
            // $('.box').empty();
            // $('.message').remove;
            $($('.messages').children()[0]).html("用户名：" + data.data[0].name)
            $($('.messages').children()[1]).html("邮箱：" + data.data[0].email)
            $($('.messages').children()[2]).html("学分：" + data.data[0].score)
            $($('.messages').children()[3]).html("学号：" + data.data[0].student_id)
            $($('.messages').children()[4]).html("班级：" + data.data[0].class)
                // var ul = $("<ul class=userlist></ul>")
                // console.log(data.data[0]);
                // const li = $("<ul class='message'><li><a>" + data.data[0].id + "</a></li>" + "<li><a>" + data.data[0].username + "</a></li>" + "<li><a>" + data.data[0].email + "</a></li>  " + "<li><a>" + data.score + "</a></li></ul>")
                // $(".getmessage").prepend(li);
        }

        // 设置本节课学分
        function scores(data) {
            $('.name-p')[0].style.textAlign = "left"
            $('.name-p')[0].style.marginBottom = "0"
            $('.name-p')[1].style.marginBottom = "0"
            $($('.name-p')[0]).html("对" + data.data[0].name + "同学这节课的评价为<a></a>");
            $($('.name-p')[1]).html(data.data[0].name + "同学的总学分为<a>" + data.data[0].score + "</a>分");
            // console.log(1);
        }

        function getScore(index, score) {
            let token = localStorage.getItem("token");

            token = JSON.parse(token);
            $.ajax({
                url: 'http://127.0.0.1:3007/my/teacherScore',
                type: 'POST',
                data: {
                    id: index,
                    score: score

                },
                headers: {
                    Authorization: token[0].Authorization
                },
                success: function(data) {
                    // console.log(data);
                    // scores(data);

                }
            })
        }


        function tostudent(index, evaluate) {
            let token = localStorage.getItem("token");
            token = JSON.parse(token);
            $.ajax({
                url: 'http://127.0.0.1:3007/my/teacherTostudent',
                type: 'POST',
                data: {
                    id: index,
                    text: evaluate
                },
                headers: {
                    Authorization: token[0].Authorization
                },
                success: function(data) {
                    // console.log(data);
                    // scores(data);

                }
            })
        }
    }
})